home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / prolog / prlgbnch.lha / tak.pl < prev    next >
Text File  |  1990-05-25  |  437b  |  24 lines

  1. % generated: 17 November 1989
  2. % option(s): SOURCE_TRANSFORM_1
  3. %
  4. %   tak
  5. %
  6. %   Evan Tick (from Lisp version by R. P. Gabriel)
  7. %
  8. %   (almost) Takeuchi function (recursive arithmetic)
  9.  
  10. tak :- tak(18,12,6,_).
  11.  
  12. tak(X,Y,Z,A) :-
  13.         X =< Y,
  14.         Z = A.
  15. tak(X,Y,Z,A) :-
  16.     X > Y,
  17.         X1 is X - 1,
  18.         tak(X1,Y,Z,A1),
  19.         Y1 is Y - 1,
  20.         tak(Y1,Z,X,A2),
  21.         Z1 is Z - 1,
  22.         tak(Z1,X,Y,A3),
  23.         tak(A1,A2,A3,A).
  24.